package team.pwy.pojo.entity;

import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

@JsonIgnoreProperties(ignoreUnknown = true)
// indexName: 索引名字  createIndex: 用于指定当索引不存在时是否创建索引
@Document(indexName = "type_index", createIndex = false)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TypeIndex implements Serializable {

    @Id
    private Integer id;
    @Field(type = FieldType.Keyword)
    private Integer moveId;
    @Field(type = FieldType.Keyword)
    private Integer love;

    @Field(type = FieldType.Keyword)
    private Integer comedy;
    @Field(type = FieldType.Keyword)

    private Integer animation;
    @Field(type = FieldType.Keyword)

    private Integer story;
    @Field(type = FieldType.Keyword)

    private Integer horror;
    @Field(type = FieldType.Keyword)

    private Integer frightened;
    @Field(type = FieldType.Keyword)

    private Integer scienceFiction;
    @Field(type = FieldType.Keyword)

    private Integer action;
    @Field(type = FieldType.Keyword)

    private Integer suspense;
    @Field(type = FieldType.Keyword)

    private Integer crime;
    @Field(type = FieldType.Keyword)

    private Integer adventure;
    @Field(type = FieldType.Keyword)

    private Integer warfare;
    @Field(type = FieldType.Keyword)

    private Integer strange;
    @Field(type = FieldType.Keyword)

    private Integer movement;
    @Field(type = FieldType.Keyword)

    private Integer family;
    @Field(type = FieldType.Keyword,name = "ancient_costume")
    private Integer ancientCostume;
    @Field(type = FieldType.Keyword)
    private Integer swordsman;
    @Field(type = FieldType.Keyword)
    private Integer west;
    @Field(type = FieldType.Keyword)

    private Integer history;
    @Field(type = FieldType.Keyword)

    private Integer specialNote;
    @Field(type = FieldType.Keyword)

    private Integer songDance;
    @Field(type = FieldType.Keyword)

    private Integer filmNoir;
    @Field(type = FieldType.Keyword)

    private Integer shorts;
    @Field(type = FieldType.Keyword)

    private Integer documentary;
    @Field(type = FieldType.Keyword)

    private Integer traditional;
    @Field(type = FieldType.Keyword)
    private Integer music;
    @Field(type = FieldType.Keyword)

    private Integer calamity;
    @Field(type = FieldType.Keyword)
    private Integer youth;
    @Field(type = FieldType.Keyword)
    private Integer children;
    @Field(type = FieldType.Keyword)
    private Integer anime;
    @Field(type = FieldType.Keyword)
    private Integer other;
    @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second,name = "create_time")
    private Date createTime;

}
